Conventional content streaming systems today, live video streams, including live television and internet streaming, are transcoded continuously. The transcoder does not stop transcoding until it is turned off. Thus, even if no users are actually watching the video stream being transcoded, the transcoder will continue to transcode the video content to be streamed.
Conventional transcoding architectures employ a multicast router to receive, via multicast streams, source video signals from one or more streaming sources. The multicast router sends the source video to one or more transcoders for transcoding. Once transcoded, the transcoder sends the transcoded video content to a content distribution network (CDN) for distribution to users on their individual devices.
Under this framework, a multicast join request to join the multicast stream is generated immediately whenever a live channel is setup or when a new stream begins. However, even when the stream is not being viewed, resources needed to receive and transcode the source video content of the video stream are utilized in the background. Correspondingly, the transcoding process increases video traffic, bandwidth usage across a network for both receiving video for transcoding and transmitting the transcoded video, and resource usage for processing and transcoding video content that is not being viewed.
Thus, a more efficient system for intelligently allocating transcoding resources is provided by the embodiments described below.